package com.bite;

public class Solution {
    /**
     * 如何判断一个数是否是2的k次方？这里不需要确定k的值。例如：1是2的0次方，2是2的1次方，4是2的平方，
     * 求N是不是2的K次方？
     * @param n
     * @return
     */
    public static boolean isPower(int n){
        if(n < 1)return false;
        int i = 1;
        while(i <= n){
            if(i == n)return true;
            i <<= 1;
        }
        return false;
    }
    public static boolean isPower2(int n){
        if(n < 1)return false;
        return (n&(n-1)) == 0;
    }
    public static void main(String[] args) {
        System.out.println(isPower(12));
        System.out.println(isPower2(12));
    }
}